home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / QuickDraw GX / QuickDraw GX Info / QuickDraw GX Interfaces / Interfaces & Libraries / Pascal Interfaces & Libraries / Pascal Interfaces / PrintingManager.p < prev    next >
Encoding:
Text File  |  1994-04-29  |  21.7 KB  |  751 lines  |  [TEXT/MPS ]

  1. { ------------------------------------------------------------------------------
  2.  
  3.     FILENAME
  4.         PrintingManager.p
  5.  
  6.     DESCRIPTION
  7.         This file contains all of the public data structures, constants, and 
  8.         function declarations for the QuickDraw GX Printing Manager.
  9.  
  10.     COPYRIGHT
  11.         Copyright © Apple Computer, Inc. 1989, 1990, 1991, 1992, 1993
  12.         All rights reserved. 
  13.  
  14. ------------------------------------------------------------------------------- }
  15.  
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.     UNIT PrintingManager;
  23.     INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED UsingPrintingManager}
  27. {$SETC UsingPrintingManager := 1}
  28.  
  29. {$I+}
  30. {$SETC PrintingManagerIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32. {$IFC UNDEFINED UsingTypes}
  33. {$I $$Shell(PInterfaces)Types.p}
  34. {$ENDC}
  35. {$SETC UsingIncludes := PrintingManagerIncludes}
  36.  
  37. { Constants }
  38.  
  39.  
  40. CONST
  41. { GX Printing Manager & Overall GX Gestalt Selectors... }
  42.  
  43.  
  44.     gestaltGXPrintingMgrVersion = 'pmgr';
  45.     gestaltGXVersion             = 'qdgx';
  46.  
  47. { possible values for LoopStatus }
  48.     gxStopLooping                = false;
  49.     gxKeepLooping                = true;
  50.     
  51. { printing Collection constants }
  52.     gxNoCollectionCategory            = $0000;
  53.     gxOutputDriverCategory            = $0001;
  54.     gxFormattingDriverCategory        = $0002;
  55.     gxDriverVolatileCategory        = $0004;
  56.     
  57.     gxVolatileOutputDriverCategory = gxOutputDriverCategory + gxDriverVolatileCategory;
  58.     gxVolatileFormattingDriverCategory = gxFormattingDriverCategory + gxDriverVolatileCategory;
  59.  
  60. { printing Collection tags }
  61.     gxPrintingTagID                 = -28672;
  62.     
  63. { job Collection tags }
  64.     gxJobTag                         = 'job ';
  65.     gxPrintJobUrgent                = $00000001;
  66.     gxPrintJobAtTime                = $00000002; 
  67.     gxPrintJobASAP                    = $00000003;
  68.     gxPrintJobHoldingBit             = $00001000;
  69.     gxPrintJobHolding                = gxPrintJobHoldingBit + gxPrintJobASAP;
  70.     gxPrintJobHoldingAtTime            = gxPrintJobHoldingBit + gxPrintJobAtTime;
  71.     gxPrintJobHoldingUrgent            = gxPrintJobHoldingBit + gxPrintJobUrgent;
  72.  
  73. { ===== Job Alert User constants (jobAlert field) ===== }
  74.     gxNoPrintTimeAlert                =    0;    { don't alert user when we print }
  75.     gxAlertBefore                    =    1;    { alert user before we print }
  76.     gxAlertAfter                    =    2;    { alert user after we print }
  77.     gxAlertBothTimes                =    3;    { alert before and after we print }
  78.  
  79. { ===== Job Timeout constants (jobTimeout field) ===== }
  80.     gxThirtySeconds                    =    1800;    { 30 seconds in ticks }
  81.     gxTwoMinutes                    =    7200;    { 2 minutes in ticks }
  82.  
  83.     gxCollationTag                     = 'sort';
  84.     gxCopiesTag                     = 'copy';
  85.     gxPageRangeTag                     = 'rang';
  86.         gxDefaultPageRange                = 0;
  87.         gxReplacePageRange                = 1;
  88.         gxCustomizePageRange            = 2;
  89.     gxQualityTag                     = 'qual';
  90.     gxFileDestinationTag             = 'dest';
  91.     gxFileLocationTag                 = 'floc';
  92.     gxFileFormatTag                 = 'ffmt';
  93.     gxFileFontsTag                     = 'incf';
  94.         gxIncludeNoFonts                = 1;
  95.         gxIncludeAllFonts                = 2; 
  96.         gxIncludeNonStandardFonts         = 3;
  97.     gxPaperFeedTag                     = 'feed';
  98.     gxTrayFeedTag                     = 'tray';
  99.     gxManualFeedTag                 = 'manf';
  100.     gxNormalMappingTag                 = 'nmap';
  101.     gxSpecialMappingTag             = 'smap';
  102.         gxRedirectPages                    = 1;
  103.         gxScalePages                    = 2;
  104.         gxTilePages                        = 3;
  105.     gxTrayMappingTag                 = 'tmap';
  106.     gxPaperMappingTag                 = 'pmap';
  107.     gxPrintPanelTag                 = 'ppan';
  108.     gxFormatPanelTag                 = 'fpan';
  109.     gxTranslatedDocumentTag         = 'trns';
  110.     
  111. { format Collection tags }
  112.     gxPaperTypeLockTag                 = 'ptlk';
  113.     gxOrientationTag                 = 'layo';
  114.         gxPortraitLayout                 = 0;
  115.         gxLandscapeLayout                 = 1;
  116.         gxRotatedPortraitLayout         = 2;
  117.         gxRotatedLandscapeLayout         = 3;
  118.     gxScalingTag                     = 'scal';
  119.     gxDirectModeTag                 = 'dirm';
  120.     gxFormatHalftoneTag             = 'half';
  121.     gxInvertPageTag                 = 'invp';
  122.     gxFlipPageHorizontalTag         = 'flph';
  123.     gxFlipPageVerticalTag             = 'flpv';
  124.     gxPreciseBitmapsTag             = 'pbmp';
  125.     
  126. { PaperType Collection tags }
  127.     gxBaseTag                         = 'base';
  128.         gxUnknownBase                    =    0;
  129.         gxUSLetterBase                    =    1;
  130.         gxUSLegalBase                    =    2;
  131.         gxA4LetterBase                    =    3;
  132.         gxB5LetterBase                    =    4;
  133.         gxTabloidBase                    =    5;
  134.     gxCreatorTag                     = 'crea';
  135.         gxSysPaperType                    =    'sypt';
  136.         gxUserPaperType                    =    'uspt';
  137.     gxUnitsTag                         = 'unit';
  138.         gxPicas                            =    0;
  139.         gxMMs                            =    1;
  140.         gxInches                        =    2;
  141.     gxFlagsTag                         = 'flag';
  142.         gxOldPaperTypeFlag                =    $00800000;
  143.         gxNewPaperTypeFlag                =    $00400000;
  144.         gxOldAndNewPaperTypeFlag        =    $00C00000;
  145.         gxDefaultPaperTypeFlag            =    $00100000;
  146.     gxCommentTag                     = 'cmnt';
  147.  
  148. { Printer ViewDevice tags }
  149.     gxPenTableTag                     = 'pent';
  150.         gxDeviceUnits                     = 0;
  151.         gxMMUnits                         = 1;
  152.         gxInchesUnits                     = 2;
  153.         gxPenNotLoaded                     = -1;
  154.  
  155. { Dialog related constants }
  156.     gxCancelSelected        = 0;
  157.     gxOKSelected             = 1;
  158.     gxRevertSelected        = 2;
  159.  
  160. { job format mode constants }
  161.     gxGetJobFormatLineConstraintQuery        = 0;
  162.     gxGetJobFormatFontsQuery                = 1;
  163.     gxGetJobFormatFontCommonStylesQuery        = 2;
  164.     gxGetJobFormatFontConstraintQuery        = 3;
  165.     gxSetStyleJobFormatCommonStyleQuery        = 4;
  166.  
  167.     gxGraphicsJobFormatMode        = 'grph';
  168.     gxTextJobFormatMode            = 'text';
  169.     gxPostScriptJobFormatMode     = 'post';
  170.  
  171.     gxConstraintRange = -1; { in numSizes field of PositionConstraintTable to indicate a range in sizes array }
  172.  
  173. { Types }
  174.  
  175.  
  176. TYPE
  177.  
  178. gxPrivatePrinterRecord = LONGINT;
  179. gxPrinter = ^gxPrivatePrinterRecord;
  180. gxPrivateJobRecord = LONGINT;
  181. gxJob = ^gxPrivateJobRecord;
  182. gxPrivateFormatRecord = LONGINT;
  183. gxFormat = ^gxPrivateFormatRecord;
  184. gxPrivatePaperTypeRecord = LONGINT;
  185. gxPaperType = ^gxPrivatePaperTypeRecord;
  186. gxPrivatePrintFileRecord = LONGINT;
  187. gxPrintFile = ^gxPrivatePrintFileRecord;
  188.  
  189. gxLoopStatus = Boolean;
  190.  
  191. gxViewDeviceProc = ProcPtr;
  192. gxFormatProc = ProcPtr;
  193. gxPaperTypeProc = ProcPtr;
  194. gxPrintingFlattenProc = ProcPtr;
  195.  
  196. {
  197. These procedures should look like this:
  198.  
  199. FUNCTION MyViewDeviceProc(theDevice: gxViewDevice; refCon : UNIV Ptr) gxLoopStatus;
  200. FUNCTION MyFormatProc(theFormat: gxFormat; refCon : UNIV Ptr) gxLoopStatus;
  201. FUNCTION MyPaperTypeProc(thePaperType: gxPaperType; refCon : UNIV Ptr) gxLoopStatus;
  202. FUNCTION MyFlattenProc (size : LONGINT; data : UNIV Ptr; refCon : UNIV Ptr) : OSErr;
  203. }
  204.  
  205. { printing Collection types }
  206. gxCollectionCategory = INTEGER; { stored in collection items' user attribute bits}
  207.  
  208. gxJobInfo = PACKED RECORD
  209.     numPages: LongInt;
  210.     priority: LongInt;
  211.     timeToPrint: LongInt;
  212.     jobTimeout: LongInt;            { in ticks }
  213.     firstPageToPrint: LongInt;        { start printing from this page }
  214.     jobAlert: INTEGER;
  215.     appName: Str32;
  216.     documentName: Str32;
  217.     userName: Str32;
  218.     END;
  219.  
  220. gxCollationInfo = PACKED RECORD
  221.     collation: Boolean;
  222.     END;
  223.  
  224. gxCopiesInfo = PACKED RECORD
  225.     copies: LongInt;
  226.     END;
  227.     
  228. gxSimplePageRangeInfo = PACKED RECORD
  229.     optionChosen: Byte;        { from options listed above }
  230.     printAll: Boolean;        { true if user wants to print all pages }
  231.     fromPage: LongInt;        { for gxDefaultPageRange, current value }
  232.     toPage: LongInt;        { for gxDefaultPageRange, current value }
  233.     END;
  234.     
  235. gxPageRangeInfo = PACKED RECORD
  236.     simpleRange: gxSimplePageRangeInfo;        { info which will be returned for GetJobPageRange }
  237.     fromString: Str31;                        { for gxCustomizePageRange, current value  }
  238.     toString: Str31;                        { for gxCustomizePageRange, current value }
  239.     minFromPage: LongInt;                    { for gxDefaultPageRange, we parse with this, ignored if nil }
  240.     maxToPage: LongInt;                        { for gxDefaultPageRange, we parse with this, ignored if nil }
  241.     replaceString: ARRAY [0..0] OF Char;    { for gxReplacePageRange, string to display }
  242.     END;
  243.     
  244. gxQualityInfo = PACKED RECORD
  245.     disableQuality: Boolean;            { true to disable standard quality controls }
  246.     defaultQuality: INTEGER;
  247.     currentQuality: INTEGER;
  248.     qualityCount: INTEGER;                { number of quality menu items in popup menu }
  249.     qualityNames: ARRAY [0..0] OF Char;    { array of packed pascal strings for popup menu titles }
  250.     END;
  251.     
  252. gxFileDestinationInfo = PACKED RECORD
  253.     toFile: Boolean;
  254.     END;
  255.  
  256. gxFileLocationInfo = PACKED RECORD
  257.     fileSpec: FSSpec;
  258.     END;
  259.  
  260. gxFileFormatInfo = PACKED RECORD
  261.     fileFormatName: Str31;
  262.     END;
  263.  
  264. gxFileFontsInfo = PACKED RECORD
  265.     includeFonts: Byte;
  266.     END;
  267.  
  268. gxPaperFeedInfo = PACKED RECORD
  269.     autoFeed: Boolean;
  270.     END;
  271.  
  272. gxTrayIndex = LongInt;
  273. gxTrayFeedInfo = PACKED RECORD
  274.     feedTrayIndex: gxTrayIndex;
  275.     manualFeedThisPage: Boolean;
  276.     END;
  277.  
  278. gxManualFeedInfo = PACKED RECORD
  279.     numPaperTypeNames: LongInt;
  280.     paperTypeNames: ARRAY [0..0] OF Str31;
  281.     END;
  282.     
  283. gxNormalMappingInfo = PACKED RECORD
  284.     normalPaperMapping: Boolean;
  285.     END;
  286.  
  287. gxSpecialMappingInfo = PACKED RECORD
  288.     specialMapping: Byte;
  289.     END;
  290.  
  291. gxTrayMappingInfo = PACKED RECORD
  292.     mapPaperToTray: gxTrayIndex;
  293.     END;
  294.  
  295. gxPrintPanelInfo = PACKED RECORD
  296.     startPanelName: Str31;
  297.     END;
  298.  
  299. gxFormatPanelInfo = PACKED RECORD
  300.     startPanelName: Str31;
  301.     END;
  302.     
  303. gxTranslatedDocumentInfo = PACKED RECORD
  304.     translatorInfo: LongInt;
  305.     END;
  306.     
  307. { format Collection types }
  308.  
  309. gxPaperTypeLockInfo = PACKED RECORD
  310.     paperTypeLocked: Boolean;
  311.     END;
  312.  
  313. gxOrientationInfo = PACKED RECORD
  314.     orientation: Byte;
  315.     END;
  316.  
  317. gxScalingInfo = PACKED RECORD
  318.     horizontalScaleFactor: Fixed;        { current horizontal scaling factor }
  319.     verticalScaleFactor: Fixed;            { current vertical scaling factor }
  320.     minScaling: INTEGER;                { minimum current scaling }
  321.     maxScaling: INTEGER;                { maximum current scaling }
  322.     END;
  323.  
  324. gxDirectModeInfo = PACKED RECORD
  325.     directModeOn: Boolean;
  326.     END;
  327.  
  328. gxFormatHalftoneInfo = PACKED RECORD
  329.     numHalftones: LongInt;                    { how many halftones }
  330.     halftones: ARRAY [0..0] OF gxHalftone;     { any number of halftones }
  331.     END;
  332.  
  333. gxInvertPageInfo = PACKED RECORD
  334.     invert: Boolean;
  335.     END;
  336.  
  337. gxFlipPageHorizontalInfo = PACKED RECORD
  338.     flipHorizontal: Boolean;
  339.     END;
  340.  
  341. gxFlipPageVerticalInfo = PACKED RECORD
  342.     flipVertical: Boolean;
  343.     END;
  344.  
  345. gxPreciseBitmapInfo = PACKED RECORD
  346.     preciseBitmaps: Boolean;
  347.     END;
  348.  
  349. { PaperType Collection types }
  350.  
  351. gxBaseInfo = PACKED RECORD
  352.     baseType: LongInt;
  353.     END;
  354.  
  355. gxCreatorInfo = PACKED RECORD
  356.     creator: OSType;
  357.     END;
  358.  
  359. gxUnitsInfo = PACKED RECORD
  360.     units: Byte;
  361.     END;
  362.  
  363. gxFlagsInfo = PACKED RECORD
  364.     flags: LongInt;
  365.     END;
  366.  
  367. gxCommentInfo = PACKED RECORD
  368.     comment: Str255;
  369.     END;
  370.  
  371. { printer viewDevice tag types }
  372.  
  373. gxPenTableEntry = PACKED RECORD
  374.     penName: Str31;            { name of the pen }
  375.     penColor: gxColor;        { color that is part of the color set }
  376.     penThickness: Fixed;    { size of the pen }
  377.     penUnits: INTEGER;        { specifies units in which pen thickness is defined }
  378.     penPosition: INTEGER;    { pen position in the carousel, -1 (kPenNotLoaded) if not loaded }
  379.     END;
  380.  
  381. gxPenTable = PACKED RECORD
  382.     numPens: LongInt;                        { number of pen entries in the following array }
  383.     pens: ARRAY [0..0] OF gxPenTableEntry;     { array of pen entries }
  384.     END;
  385.  
  386. { dialog related types }
  387. gxDialogResult = LongInt;
  388.  
  389. gxEditMenuRecord = PACKED RECORD
  390.     editMenuID: INTEGER;
  391.  
  392.     cutItem: INTEGER;
  393.     copyItem: INTEGER;
  394.     pasteItem: INTEGER;
  395.     clearItem: INTEGER;
  396.     undoItem: INTEGER;
  397.     END;
  398.  
  399. { job format mode types }
  400. gxQueryType = LongInt;
  401. gxJobFormatMode = OSType;
  402.  
  403. gxJobFormatModeTable = PACKED RECORD
  404.     numModes: LongInt;                        
  405.     modes: ARRAY [0..0] OF gxJobFormatMode;     
  406.     END;
  407. gxJobFormatModeTablePtr = ^gxJobFormatModeTable;
  408. gxJobFormatModeTableHdl = ^gxJobFormatModeTablePtr;
  409.  
  410. gxPositionConstraintTable = PACKED RECORD
  411.     phase: gxPoint;                        
  412.     offset: gxPoint;                        
  413.     numSizes: LongInt;                        
  414.     sizes: ARRAY [0..0] OF Fixed;     
  415.     END;
  416. gxPositionConstraintTablePtr = ^gxPositionConstraintTable;
  417. gxPositionConstraintTableHdl = ^gxPositionConstraintTablePtr;
  418.     
  419. gxStyleNameTable = PACKED RECORD
  420.     numStyleNames: LongInt;                        
  421.     styleNames: ARRAY [0..0] OF Str255;     
  422.     END;
  423. gxStyleNameTablePtr = ^gxStyleNameTable;
  424. gxStyleNameTableHdl = ^gxStyleNameTablePtr;
  425.  
  426. gxFontTable = PACKED RECORD
  427.     numFonts: LongInt;                        
  428.     fonts: ARRAY [0..0] OF gxFont;     
  429.     END;
  430. gxFontTablePtr = ^gxFontTable;
  431. gxFontTableHdl = ^gxFontTablePtr;
  432.  
  433. {********************************************************************}
  434. {************************ Public Interfaces *************************}
  435. {********************************************************************}
  436.  
  437. { Global Routines (Basic) }
  438.  
  439. FUNCTION GXInitPrinting : OSErr;
  440.     INLINE $203C,$0000, $0000, $ABFE;
  441.     
  442. FUNCTION GXExitPrinting : OSErr;
  443.     INLINE $203C,$0000, $0001, $ABFE;
  444.  
  445.  
  446. { Job Routines (Basic) }
  447.  
  448. FUNCTION GXNewJob(VAR theJob: gxJob) : OSErr;
  449.     INLINE $203C,$0000, $0002, $ABFE;
  450.  
  451. FUNCTION GXDisposeJob(theJob: gxJob) : OSErr;
  452.     INLINE $203C,$0000, $0003, $ABFE;
  453.  
  454. PROCEDURE GXFlattenJob(theJob: gxJob; theProc: gxPrintingFlattenProc; refCon : UNIV Ptr);
  455.     INLINE $203C,$0000, $0004, $ABFE;
  456.  
  457. FUNCTION GXUnflattenJob(theJob: gxJob; theProc: gxPrintingFlattenProc; refCon : UNIV Ptr) : gxJob;
  458.     INLINE $203C,$0000, $0005, $ABFE;
  459.  
  460. FUNCTION GXFlattenJobToHdl(theJob: gxJob; theHandle: Handle) : Handle;
  461.     INLINE $203C,$0000, $0006, $ABFE;
  462.  
  463. FUNCTION GXUnflattenJobFromHdl(theJob: gxJob; theHandle: Handle) : gxJob;
  464.     INLINE $203C,$0000, $0007, $ABFE;
  465.  
  466. PROCEDURE GXInstallApplicationOverride(theJob: gxJob; messageID: INTEGER; refCon : UNIV Ptr);
  467.     INLINE $203C,$0000, $0008, $ABFE;
  468.  
  469.  
  470. { Format Routines (Basic) }
  471.  
  472. FUNCTION GXNewFormat(theJob: gxJob) : gxFormat;
  473.     INLINE $203C,$0000, $0009, $ABFE;
  474.  
  475. PROCEDURE GXDisposeFormat(theFormat: gxFormat);
  476.     INLINE $203C,$0000, $000A, $ABFE;
  477.  
  478.  
  479. { PaperType Routines (Basic) }
  480.  
  481. FUNCTION GXNewPaperType(theJob: gxJob; name: Str31; VAR pageSize: gxRectangle; VAR paperSize: gxRectangle) : gxPaperType;
  482.     INLINE $203C,$0000, $000B, $ABFE;
  483.  
  484. PROCEDURE GXDisposePaperType(thePaperType: gxPaperType);
  485.     INLINE $203C,$0000, $000C, $ABFE;
  486.  
  487. FUNCTION GXGetNewPaperType(theJob: gxJob; resID: INTEGER) : gxPaperType;
  488.     INLINE $203C,$0000, $000D, $ABFE;
  489.  
  490.  
  491. { Error-Handling Routines (Basic) }
  492.  
  493. FUNCTION GXGetJobError(theJob: gxJob) : OSErr;
  494.     INLINE $203C,$0000, $000E, $ABFE;
  495.  
  496. PROCEDURE GXSetJobError(theJob: gxJob; theError: OSErr);
  497.     INLINE $203C,$0000, $000F, $ABFE;
  498.  
  499.  
  500. { Dialog Routines (Basic) }
  501.  
  502. FUNCTION GXJobDefaultFormatDialog(theJob: gxJob; VAR theEditRecord: gxEditMenuRecord) : gxDialogResult;
  503.     INLINE $203C,$0000, $0010, $ABFE;
  504.  
  505. FUNCTION GXJobPrintDialog(theJob: gxJob; VAR theEditRecord: gxEditMenuRecord) : gxDialogResult;
  506.     INLINE $203C,$0000, $0011, $ABFE;
  507.  
  508. FUNCTION GXFormatDialog(theJob: gxJob; VAR theEditRecord: gxEditMenuRecord; title: StringPtr) : gxDialogResult;
  509.     INLINE $203C,$0000, $0012, $ABFE;
  510.  
  511.  
  512. { Format Routines (Basic) }
  513.  
  514. FUNCTION GXGetJobFormat(theJob: gxJob; whichFormat: LongInt) : gxFormat;
  515.     INLINE $203C,$0000, $0013, $ABFE;
  516.  
  517. FUNCTION GXGetFormatJob(theFormat: gxFormat) : gxJob;
  518.     INLINE $203C,$0000, $0014, $ABFE;
  519.  
  520. FUNCTION GXGetFormatPaperType(theFormat: gxFormat) : gxPaperType;
  521.     INLINE $203C,$0000, $0015, $ABFE;
  522.  
  523. PROCEDURE GXGetFormatDimensions(theFormat: gxFormat; VAR pageSize: gxRectangle; VAR paperSize: gxRectangle);
  524.     INLINE $203C,$0000, $0016, $ABFE;
  525.  
  526.  
  527. { Spooling Routines (Basic) }
  528.  
  529. PROCEDURE GXGetJobPageRange(theJob: gxJob; VAR firstPage: LongInt; VAR lastPage: LongInt);
  530.     INLINE $203C,$0000, $0017, $ABFE;
  531.  
  532. PROCEDURE GXStartJob(theJob: gxJob; docName: StringPtr; pageCount: LongInt);
  533.     INLINE $203C,$0000, $0018, $ABFE;
  534.  
  535. PROCEDURE GXPrintPage(theJob: gxJob; pageNumber: LongInt; theFormat: gxFormat; thePage: gxShape);
  536.     INLINE $203C,$0000, $0019, $ABFE;
  537.  
  538. FUNCTION GXStartPage(theJob: gxJob; pageNumber: LongInt; theFormat: gxFormat; numViewPorts: LongInt; VAR viewPortList: gxViewPort): Boolean;
  539.     INLINE $203C,$0000, $001A, $ABFE;
  540.  
  541. PROCEDURE GXFinishPage(theJob: gxJob);
  542.     INLINE $203C,$0000, $001B, $ABFE;
  543.  
  544. PROCEDURE GXFinishJob(theJob: gxJob);
  545.     INLINE $203C,$0000, $001C, $ABFE;
  546.  
  547.  
  548. { Job Routines (Advanced) }
  549.  
  550. FUNCTION GXGetJobCollection(theJob: gxJob) : Collection;
  551.     INLINE $203C,$0000, $001D, $ABFE;
  552.  
  553. FUNCTION GXGetJobRefCon(theJob: gxJob) : LongInt;
  554.     INLINE $203C,$0000, $001E, $ABFE;
  555.  
  556. PROCEDURE GXSetJobRefCon(theJob: gxJob; refCon: LongInt);
  557.     INLINE $203C,$0000, $001F, $ABFE;
  558.  
  559. FUNCTION GXCopyJob(srcJob: gxJob; dstJob: gxJob) : gxJob;
  560.     INLINE $203C,$0000, $0020, $ABFE;
  561.  
  562. PROCEDURE GXSelectJobFormattingPrinter(theJob: gxJob; printerName: Str31);
  563.     INLINE $203C,$0000, $0021, $ABFE;
  564.     
  565. PROCEDURE GXSelectJobOutputPrinter(theJob: gxJob; printerName: Str31);
  566.     INLINE $203C,$0000, $0022, $ABFE;
  567.  
  568. PROCEDURE GXForEachJobFormatDo(theJob: gxJob; theProc: gxFormatProc; refCon : UNIV Ptr);
  569.     INLINE $203C,$0000, $0023, $ABFE;
  570.  
  571. FUNCTION GXCountJobFormats(theJob: gxJob) : LongInt;
  572.     INLINE $203C,$0000, $0024, $ABFE;
  573.  
  574. FUNCTION GXUpdateJob(theJob: gxJob) : Boolean;
  575.     INLINE $203C,$0000, $0025, $ABFE;
  576.  
  577. PROCEDURE GXConvertPrintRecord(theJob: gxJob; oldPrintRecord: THPrint);
  578.     INLINE $203C,$0000, $0026, $ABFE;
  579.  
  580.  
  581. { Printer Routines (Advanced) }
  582.  
  583. FUNCTION GXGetJobFormattingPrinter(theJob: gxJob) : gxPrinter;
  584.     INLINE $203C,$0000, $0027, $ABFE;
  585.  
  586. FUNCTION GXGetJobOutputPrinter(theJob: gxJob) : gxPrinter;
  587.     INLINE $203C,$0000, $0028, $ABFE;
  588.  
  589. FUNCTION GXGetJobPrinter(theJob: gxJob) : gxPrinter;
  590.     INLINE $203C,$0000, $0029, $ABFE;
  591.  
  592. FUNCTION GXGetPrinterJob(thePrinter: gxPrinter) : gxJob;
  593.     INLINE $203C,$0000, $002A, $ABFE;
  594.  
  595. PROCEDURE GXForEachPrinterViewDeviceDo(thePrinter: gxPrinter; theProc: gxViewDeviceProc; refCon : UNIV Ptr);
  596.     INLINE $203C,$0000, $002B, $ABFE;
  597.  
  598. FUNCTION GXCountPrinterViewDevices(thePrinter: gxPrinter) : LongInt;
  599.     INLINE $203C,$0000, $002C, $ABFE;
  600.  
  601. FUNCTION GXGetPrinterViewDevice(thePrinter: gxPrinter; whichViewDevice: LongInt) : gxViewDevice;
  602.     INLINE $203C,$0000, $002D, $ABFE;
  603.  
  604. PROCEDURE GXSelectPrinterViewDevice(thePrinter: gxPrinter; whichViewDevice: LongInt);
  605.     INLINE $203C,$0000, $002E, $ABFE;
  606.  
  607. PROCEDURE GXGetPrinterName(thePrinter: gxPrinter; VAR printerName: Str31);
  608.     INLINE $203C,$0000, $002F, $ABFE;
  609.  
  610. FUNCTION GXGetPrinterType(thePrinter: gxPrinter) : OSType;
  611.     INLINE $203C,$0000, $0030, $ABFE;
  612.  
  613. PROCEDURE GXGetPrinterDriverName(thePrinter: gxPrinter; VAR printerName: Str31);
  614.     INLINE $203C,$0000, $0031, $ABFE;
  615.  
  616. FUNCTION GXGetPrinterDriverType(thePrinter: gxPrinter) : OSType;
  617.     INLINE $203C,$0000, $0032, $ABFE;
  618.  
  619.  
  620. { Format Routines (Advanced) }
  621.  
  622. FUNCTION GXGetFormatCollection(theFormat: gxFormat) : Collection;
  623.     INLINE $203C,$0000, $0033, $ABFE;
  624.  
  625. PROCEDURE GXChangedFormat(theFormat: gxFormat);
  626.     INLINE $203C,$0000, $0034, $ABFE;
  627.  
  628. FUNCTION GXCopyFormat(srcFormat: gxFormat; dstFormat: gxFormat) : gxFormat;
  629.     INLINE $203C,$0000, $0035, $ABFE;
  630.  
  631. FUNCTION GXCloneFormat(theFormat: gxFormat) : gxFormat;
  632.     INLINE $203C,$0000, $0036, $ABFE;
  633.  
  634. FUNCTION GXCountFormatOwners(theFormat: gxFormat) : LongInt;
  635.     INLINE $203C,$0000, $0037, $ABFE;
  636.  
  637. PROCEDURE GXGetFormatMapping(theFormat: gxFormat; VAR theMapping: gxMapping);
  638.     INLINE $203C,$0000, $0038, $ABFE;
  639.  
  640. FUNCTION GXGetFormatForm(theFormat: gxFormat; VAR mask: gxShape) : gxShape;
  641.     INLINE $203C,$0000, $0039, $ABFE;
  642.  
  643. PROCEDURE GXSetFormatForm(theFormat: gxFormat; form: gxShape; mask: gxShape);
  644.     INLINE $203C,$0000, $003A, $ABFE;
  645.  
  646.  
  647. { Job Format Modes Routines (Advanced) }
  648.  
  649. PROCEDURE GXSetAvailableJobFormatModes(theJob: gxJob; whichModes: gxJobFormatModeTableHdl);
  650.     INLINE $203C,$0000, $003B, $ABFE;
  651.  
  652. FUNCTION GXGetPreferredJobFormatMode(theJob: gxJob; VAR directOnly: Boolean) : gxJobFormatMode;
  653.     INLINE $203C,$0000, $003C, $ABFE;
  654.  
  655. FUNCTION GXGetJobFormatMode(theJob: gxJob) : gxJobFormatMode;
  656.     INLINE $203C,$0000, $003D, $ABFE;
  657.  
  658. PROCEDURE GXSetJobFormatMode(theJob: gxJob; theMode: gxJobFormatMode);
  659.     INLINE $203C,$0000, $003E, $ABFE;
  660.  
  661. PROCEDURE GXJobFormatModeQuery(theJob: gxJob; theQuery: gxQueryType; srcData: Ptr; dstData: Ptr);
  662.     INLINE $203C,$0000, $003F, $ABFE;
  663.  
  664.  
  665. { Dialog Routines  (Advanced) }
  666.  
  667. PROCEDURE GXEnableJobScalingPanel(theJob: gxJob; enabled: Boolean);
  668.     INLINE $203C,$0000, $0040, $ABFE;
  669.  
  670. PROCEDURE GXGetJobPanelDimensions(theJob: gxJob; VAR theSize: Rect);
  671.     INLINE $203C,$0000, $0041, $ABFE;
  672.  
  673.  
  674. { PaperType Routines (Advanced) }
  675.  
  676. FUNCTION GXCountJobPaperTypes(theJob: gxJob; forFormatDevice: Boolean) : LongInt;
  677.     INLINE $203C,$0000, $0042, $ABFE;
  678.  
  679. FUNCTION GXGetJobPaperType(theJob: gxJob; whichPaperType: LongInt; forFormatDevice: Boolean; inputPaperType: gxPaperType) : gxPaperType;
  680.     INLINE $203C,$0000, $0043, $ABFE;
  681.  
  682. PROCEDURE GXForEachJobPaperTypeDo(theJob: gxJob; theProc: gxPaperTypeProc; refCon : UNIV Ptr; forFormatDevice: Boolean);
  683.     INLINE $203C,$0000, $0044, $ABFE;
  684.  
  685. FUNCTION GXCopyPaperType(srcPaperType: gxPaperType; dstPaperType: gxPaperType) : gxPaperType;
  686.     INLINE $203C,$0000, $0045, $ABFE;
  687.  
  688. PROCEDURE GXGetPaperTypeName(thePaperType: gxPaperType; VAR theName: Str31);
  689.     INLINE $203C,$0000, $0046, $ABFE;
  690.  
  691. PROCEDURE GXGetPaperTypeDimensions(thePaperType: gxPaperType; VAR pageSize: gxRectangle; VAR paperSize: gxRectangle);
  692.     INLINE $203C,$0000, $0047, $ABFE;
  693.  
  694. FUNCTION GXGetPaperTypeJob(thePaperType: gxPaperType) : gxJob;
  695.     INLINE $203C,$0000, $0048, $ABFE;
  696.  
  697. FUNCTION GXGetPaperTypeCollection(thePaperType: gxPaperType) : Collection;
  698.     INLINE $203C,$0000, $0049, $ABFE;
  699.  
  700.  
  701. { PrintViewer Routines (Advanced) }
  702.  
  703. FUNCTION GXOpenPrintFile(theJob: gxJob; whichFile: FSSpecPtr; permission: Byte) : gxPrintFile;
  704.     INLINE $203C,$0000, $004A, $ABFE;
  705.  
  706. PROCEDURE GXClosePrintFile(thePrintFile: gxPrintFile);
  707.     INLINE $203C,$0000, $004B, $ABFE;
  708.  
  709. FUNCTION GXGetPrintFileJob(thePrintFile: gxPrintFile) : gxJob;
  710.     INLINE $203C,$0000, $004C, $ABFE;
  711.  
  712. FUNCTION GXCountPrintFilePages(thePrintFile: gxPrintFile) : LongInt;
  713.     INLINE $203C,$0000, $004D, $ABFE;
  714.  
  715. PROCEDURE GXReadPrintFilePage(thePrintFile: gxPrintFile; pageNumber: LongInt; numViewPorts: LongInt; VAR viewPortList: gxViewPort; VAR theFormat: gxFormat; VAR theShape: gxShape);
  716.     INLINE $203C,$0000, $004E, $ABFE;
  717.  
  718. PROCEDURE GXReplacePrintFilePage(thePrintFile: gxPrintFile; pageNumber: LongInt; theFormat: gxFormat; theShape: gxShape);
  719.     INLINE $203C,$0000, $004F, $ABFE;
  720.  
  721. PROCEDURE GXInsertPrintFilePage(thePrintFile: gxPrintFile; atPageNumber: LongInt; theFormat: gxFormat; theShape: gxShape);
  722.     INLINE $203C,$0000, $0050, $ABFE;
  723.  
  724. PROCEDURE GXDeletePrintFilePageRange(thePrintFile: gxPrintFile; fromPageNumber: LongInt; toPageNumber: LongInt);
  725.     INLINE $203C,$0000, $0051, $ABFE;
  726.  
  727. PROCEDURE GXSavePrintFile(thePrintFile: gxPrintFile; toWhere: FSSpecPtr);
  728.     INLINE $203C,$0000, $0052, $ABFE;
  729.  
  730.  
  731. { ColorSync Routines (Advanced) }
  732.  
  733. FUNCTION GXFindPrinterProfile(thePrinter: gxPrinter; searchData: Ptr; index: LongInt; VAR returnedProfile: gxColorProfile) : LongInt;
  734.     INLINE $203C,$0000, $0053, $ABFE;
  735.  
  736. FUNCTION GXFindFormatProfile(theFormat: gxFormat; searchData: Ptr; index: LongInt; VAR returnedProfile: gxColorProfile) : LongInt;
  737.     INLINE $203C,$0000, $0054, $ABFE;
  738.  
  739. PROCEDURE GXSetPrinterProfile(thePrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile);
  740.     INLINE $203C,$0000, $0055, $ABFE;
  741.  
  742. PROCEDURE GXSetFormatProfile(theFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile);
  743.     INLINE $203C,$0000, $0056, $ABFE;
  744.  
  745.  
  746. {$ENDC}    { UsingPrintingManager }
  747.  
  748. {$IFC NOT UsingIncludes}
  749.     END.
  750. {$ENDC}
  751.